Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the cookiecutter template to support multiple project types (FastAPI, Metaflow, Python package) with configurable inclusion, improves Docker configuration to follow uv best practices, and parameterizes various project settings including coverage thresholds.
Key Changes:
- Introduces conditional template generation for FastAPI, Metaflow, and Python package components with corresponding cookiecutter parameters
- Updates Dockerfile to use multi-stage build with caching and proper uv integration
- Parameterizes coverage threshold and adds post-generation hook to clean up unused components
Reviewed changes
Copilot reviewed 8 out of 12 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| cookiecutter.json | Adds configuration parameters for component inclusion and coverage threshold |
| hooks/post_gen_project.py | New post-generation hook to remove unselected template components |
| {{cookiecutter.repository}}/Dockerfile | Refactored to use uv best practices with build caching and multi-stage approach |
| {{cookiecutter.repository}}/docker-compose.yml | Parameterized service definitions based on included components |
| {{cookiecutter.repository}}/pyproject.toml | Adds development dependencies and ruff source configuration |
| {{cookiecutter.repository}}/README.md | Updated usage instructions for parameterized template |
| {{cookiecutter.repository}}/tasks/check.just | Parameterized coverage threshold |
| {{cookiecutter.repository}}/src/metaflow_app/spin_prototype.py | New Metaflow example application |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "name": "Project Name", | ||
| "repository": "GitHub Repository", | ||
| "package": "Python Package", | ||
| "license": "Project License", |
There was a problem hiding this comment.
The 'package' prompt was removed from prompts but the 'package' field still exists in the main configuration (line 6). If the package field should remain configurable, restore its prompt; otherwise, document that it defaults to the repository name.
f92a52d to
324d1b4
Compare
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Overview
Testing
I didn't test thoroughly. Will leave it for debugging later if issues are encountered.